const { defineConfig } = require('@vue/cli-service')

// 获取当前环境变量
const pro = process.env.NODE_ENV === 'production';
const test = process.env.NODE_ENV === 'test';

module.exports = defineConfig({
    transpileDependencies: true,
    devServer: {
        port: 8080, // 开发环境设为 8080
        historyApiFallback: {
            rewrites: [
                { from: /^\/$/, to: '/home' }
            ]
        }
    },
    // 如果你需要在生产环境中使用不同的端口和域名，可以在这里配置
    // 注意：生产环境的端口通常由部署服务器（如 Nginx、Docker）控制
    chainWebpack: config => {
        if (pro) {
            // 为生产环境配置提供基础路径和域名信息
            config.plugin('define').tap(args => {
                args[0]['process.env'].VUE_APP_BASE_URL = JSON.stringify('https://www.gshnbst.com');
                args[0]['process.env'].VUE_APP_PORT = JSON.stringify(443); // 生产环境默认使用 443 端口
                args[0]['process.env'].VUE_APP_PROTOCOL = JSON.stringify('https');
                return args;
            });
        } else if (test) {
            // 为测试环境配置提供基础路径和域名信息
            config.plugin('define').tap(args => {
                args[0]['process.env'].VUE_APP_BASE_URL = JSON.stringify('http://localhost');
                args[0]['process.env'].VUE_APP_PORT = JSON.stringify(8080);
                args[0]['process.env'].VUE_APP_PROTOCOL = JSON.stringify('http');
                return args;
            });
        }
    }
})